package com.jwsoft.manager.common.vo.eduEnrollmenBrochure;

import com.bifang.assistant.common.vo.BaseVO;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 各学校招生简章VO
 *
 * @author chenchao
 * @since 2023-01-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Schema(name = "EduEnrollmenBrochureVO", title = "各学校招生简章VO", description = "各学校招生简章实体类")
public class EnrollmenBrochureVO extends BaseVO {
    @Schema(name = "articleId", title = "文章id")
    private Long articleId;

    @Schema(name = "title", title = "文章标题")
    private String title;

    @Schema(name = "articleContent", title = "文章内容")
    private String articleContent;

    @Schema(name = "fileUrl", title = "文章内容文件url")
    private String fileUrl;

    @Schema(name = "fileType", title = "公共文件类型 image 图片 pdf video视频")
    private String fileType;
    @Schema(name = "fileTypeName", title = "公共文件类型 image 图片 pdf video视频")
    private String fileTypeName;

    @Schema(name = "contentType", title = "内容类型：file 文件 text 文本")
    private String contentType;
    @Schema(name = "contentTypeName", title = "内容类型：file 文件 text 文本")
    private String contentTypeName;
    @Schema(name = "labelFlag", title = "是否根据标签显示 0 否 1 是")
    private String labelFlag;
    @Schema(name = "labelFlagName", title = "是否根据标签显示 0 否 1 是")
    private String labelFlagName;
    @Schema(name = "linkUrl", title = "链接地址")
    private String linkUrl;

    @Schema(name = "linkType", title = "链接类型：router 内部路由 h5 第三方H5 weixin 第三方微信小程序")
    private String linkType;
    @Schema(name = "linkTypeName", title = "链接类型：router 内部路由 h5 第三方H5 weixin 第三方微信小程序")
    private String linkTypeName;
    @Schema(name = "linkPath", title = "内部路由路径")
    private String linkPath;

    @Schema(name = "linkName", title = "内部路由名")
    private String linkName;

    @Schema(name = "linkParams", title = "链接参数：json")
    private String linkParams;

    @Schema(name = "publishTime", title = "发布时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date publishTime;
    @Schema(name = "publishTimeText", title =  "发布时间中文")
    private String publishTimeText;

    @Schema(name = "offTime", title = "下架时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date offTime;

    @Schema(name = "publisher", title = "发布主体（人或单位）")
    private String publisher;

    @Schema(name = "articleStatus", title = "状态 draft 草稿 auth 审核中 finish 准备完成 on 发布中 off 下架")
    private String articleStatus;
    @Schema(name = "articleStatusName", title = "状态 draft 草稿 auth 审核中 finish 准备完成 on 发布中 off 下架")
    private String articleStatusName;
    @Schema(name = "authStatus", title = "审核状态 0 未审核 1 审核通过 2 审核不通过")
    private String authStatus;
    @Schema(name = "authStatusName", title = "审核状态 0 未审核 1 审核通过 2 审核不通过")
    private String authStatusName;
    @Schema(name = "authRemarks", title = "审核说明")
    private String authRemarks;

    @Schema(name = "authUserId", title = "审核人")
    private String authUserId;

    @Schema(name = "authTime", title = "审核时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date authTime;

    @Schema(name = "commentCount", title = "评论次数")
    private Integer commentCount;

    @Schema(name = "showCount", title = "查看次数")
    private Integer showCount;

    @Schema(name = "likeCount", title = "点赞次数")
    private Integer likeCount;

    @Schema(name = "collectCount", title = "收藏次数")
    private Integer collectCount;

    @Schema(name = "likeFlag", title =  "是否点赞")
    private Boolean likeFlag;

    @Schema(name = "collectFlag", title = "是否收藏")
    private Boolean collectFlag;
    @Schema(name = "reportCount", title = "举报次数")
    private Integer reportCount;
    @Schema(name = "showType", title = "列表展示类型：0 无图片 1 一张大图 2 左边一张小图 3标题下发多张图 最多3张")
    private String showType;
    @Schema(name = "enrollmenBrochureId", title = "招生简章id")
    private String enrollmenBrochureId;

    @Schema(name = "enrollmentPlanId", title = "招生计划id")
    private String enrollmentPlanId;

    @Schema(name = "schoolId", title = "学校")
    private String schoolId;
    @Schema(name = "schoolName", title = "所属学校名称")
    private String schoolName;
    @Schema(name = "shortName", title = "所属学校名称简称")
    private String shortName;

    @Schema(name = "admissionClassNumber", title = "招生班级数")
    private Integer admissionClassNumber;

    @Schema(name = "enrolment", title = "招生人数")
    private Integer enrolment;

    @Schema(name = "admissionsCategory", title = "招生条件")
    private String admissionsCategory;

    @Schema(name = "mapRegion", title = "地图区域")
    private String mapRegion;

    @Schema(name = "year", title = "年份")
    private Integer year;

    @Schema(name = "endRegistration", title = "第一志愿是否已经结束报名 1.是 0.否")
    private String endRegistration;

    @Schema(name = "endRegistration2", title = "第二志愿是否已经结束报名 1.是 0.否")
    private String endRegistration2;
    @Schema(name = "endRegistration3", title = "第三志愿是否已经结束报名 1.是 0.否")
    private String endRegistration3;
    @Schema(name = "endRegistration4", title = "第四志愿是否已经结束报名 1.是 0.否")
    private String endRegistration4;
    @Schema(name = "startTime", title = "有效开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    @Schema(name = "endTime", title = "有效结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    @Schema(name = "remarks", title = "备注")
    private String remarks;

    @Schema(name = "schoolCategory", title = "学段类别")
    private String schoolCategory;

    @Schema(name = "brochureContent", title = "学区示意图")
    private String brochureContent;

    @Schema(name = "specialIds", title = "特殊通道表单ids")
    private String specialIds;

    @Schema(name = "createName", title = "添加人")
    private String createName;

    @Schema(name = "createTime", title = "添加时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @Schema(name = "areaCode", title = "行政区划")
    private String areaCode;

    @Schema(name = "enrollStatus", title ="全学段招生状态：未开放 招生中 已结束")
    private String enrollStatus;
    @Schema(name = "enrollMessage", title ="全学段招生状态：未开放 招生中 已结束")
    private String enrollMessage;
    @Schema(name = "longitude", title = "学校经度")
    private BigDecimal longitude;

    @Schema(name = "latitude", title = "学校纬度")
    private BigDecimal latitude;

    @Schema(title = "是否置顶")
    private String topFlag;

    @Schema(name = "schoolNature", title = "学校性质0.公办 1.民办")
    private String schoolNature;
    @Schema(name = "houseEndTimeNo", title = "不限房产截止时间 1 不限 0 限制")
    private String houseEndTimeNo;
    @Schema(name = "houseEndTime", title = "正学区房产截止时间")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date houseEndTime;
    @Schema(name = "houseEndTimeFw", title = "服务区房产截止时间")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date houseEndTimeFw;
    @Schema(name = "authOrderByNo", title = "不限审核和录取类别顺序 1 不限 0 限制")
    private String authOrderByNo;

    @Schema(name = "householdEndTimeNo", title = "不限户籍截止时间 1 不限 0 限制")
    private String householdEndTimeNo;
    @Schema(name = "householdEndTime", title = "正学区户籍截止时间")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date householdEndTime;
    @Schema(name = "householdEndTimeFw", title = "服务区户籍截止时间")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date householdEndTimeFw;
    @Schema(name = "serviceFlag", title = "是否开通服务区")
    private String serviceFlag;
    @Schema(name = "phone", title = "联系电话")
    private String phone;
    @Schema(name = "contacts", title = "联系人")
    private String contacts;
    @Schema(name = "enrollArea", title = "面向招生的区域")
    private String enrollArea;
    @Schema(name = "enrollAreaConfigList", title = "根据招生类别区域控制")
    private List<OtherAreaConfigNameVO> enrollAreaConfigList;
    @Schema(name = "allAreaFlag", title = "是否面向全市招生")
    private String allAreaFlag;
}
